Fechado. Esta pergunta não atende às diretrizes do Stack Overflow. Atualmente não está aceitando respostas. Quer melhorar esta questão? Atualize a pergunta para que esteja no tópico do Stack Overflow. Fechado há 4 anos. Melhore esta questão Estou construindo um aplicativo Shiny que processa vários arquivos de texto selecionados por um usuário. A saída é um enorme quadro de dados com milhões de linhas e dezenas de colunas. Estou interessado agora em permitir que um usuário filtre linhas interativamente, selecione colunas e resuma colunas (escolhendo em uma lista de funções como média, sd, máximo, mínimo, soma, etc ...). O resultado seria um quadro de dados menor resumindo os dados por seleção do usuário - basicamente, preciso criar uma GUI que implemente uma funcionalidade básica da biblioteca dplyr. Em geral, eu sei como fazer isso criando manualmente um monte de elementos da GUI e alimentando-os em uma função de servidor com vários comandos dplyr. Uma vez que esta parece ser uma funcionalidade bastante padrão (GUI que filtra e resume um dataframe), antes de começar a construí-lo do zero, gostaria de saber se há algo "pronto para uso" que posso usar no estado em que se encontra ou como ponto de partida .
2021-02-22 08:14:24
Eu sei que você disse que rpivotTable não era exatamente o que você queria, mas acho que pode ser configurado para fazer parte do trabalho pesado, Aqui está um exemplo (usando rpivotTable para a manipulação, DT para mostrar o data.frame, rvest para analisar o innerHTML do DOM, pode haver um formato de dados melhor para passar o objeto da tabela do lado do cliente, mas esta é uma prova de conceito ): ui.R biblioteca (brilhante) biblioteca (DT) biblioteca (rpivotTable) FullPage <- fluidPage ( DT :: dataTableOutput ('aSummaryTable'), rpivotTableOutput ('RESULTS') ) Página inteira server.R: biblioteca (brilhante) biblioteca (rpivotTable) biblioteca (DT) biblioteca (rvest) função (entrada, saída, sessão) { # Faça alguns dados de amostra qbdata <- reativo ({ expand.grid (LETRAS, 1: 3) }) # Limpe o html e armazene como reativo summarydf <- eventReactive (input $ myData, { input $ myData%>% read_html%>% html_table (fill = TRUE)%>% # Acontece que existem duas tabelas em uma rpivotTable, queremos a segunda . [[2]] }) # mostrar df como DT :: datatable output $ aSummaryTable <- DT :: renderDataTable ({ tabela de dados (summarydf (), rownames = FALSE) }) # Sempre que a configuração for atualizada, ligue de volta com o conteúdo da tabela output $ RESULTS <- renderRpivotTable ({ rpivotTable ( qbdata (), onRefresh = htmlwidgets :: JS ("function (config) { Shiny.onInputChange ('myData', document.getElementById ('RESULTS'). InnerHTML); } ") ) }) } | Não é a resposta que você está procurando? Navegue por outras questões marcadas com r dplyr brilhante ou faça sua própria pergunta.